package org.example.wumeng.service;

import org.example.wumeng.pojo.User;

import java.util.Map;

public interface T_userService {

    /**
     * 用户登录
     * @param username 用户名
     * @param password 密码
     * @return 用户信息
     */
    User login(String username, String password);

    /**
     * 用户注册（只能注册普通用户）
     * @param user 用户信息
     * @return 用户ID
     */
    Long register(User user);

    /**
     * 检查用户名是否存在
     * @param username 用户名
     * @return 是否存在
     */
    boolean existsByUsername(String username);

    /**
     * 根据ID获取用户信息
     * @param id 用户ID
     * @return 用户信息
     */
    User getById(Long id);

    /**
     * 根据token获取用户信息
     * @param token 认证token
     * @return 用户信息
     */
    User getUserInfo(String token);

    /**
     * 更新用户信息
     * @param user 用户信息
     */
    void update(User user);

    /**
     * 更新用户个人资料
     * @param userId 用户ID
     * @param user 用户信息
     * @return 更新后的用户信息
     */
    User updateProfile(Long userId, User user);

    /**
     * 修改密码
     * @param userId 用户ID
     * @param currentPassword 当前密码
     * @param newPassword 新密码
     * @return 是否成功
     */
    boolean changePassword(Long userId, String currentPassword, String newPassword);
//
//    /**
//     * 上传头像
//     * @param userId 用户ID
//     * @param avatarUrl 头像URL
//     * @return 是否成功
//     */
//    boolean uploadAvatar(Long userId, String avatarUrl);

    /**
     * 删除用户
     * @param id 用户ID
     */
    void delete(Long id);
}